package cn.yza.设计模式.单例模式;

/**
 * @author Honglixi
 * @create 2021-10-25 12:39
 */
public class FinalTest {
    public static void main(String[] args) {
        final StringBuilder sb = new StringBuilder("haha");
        //同一对象的hashCode值相同
        System.out.println("sb中的内容是：" + sb);
        System.out.println(sb + "的哈希编码是:" + sb.hashCode());

        sb.append("我变了");
        System.out.println("sb中的内容是：" + sb);
        System.out.println(sb + "的哈希编码是:" + sb.hashCode());

        System.out.println("-----------------哈希值-------------------");
        FinalTest test = new FinalTest();
        System.out.println(test.hashCode());

        //Integer.toHexString此方法返回的字符串表示的无符号整数参数所表示的值以十六进制（基数为16）
        System.out.println(Integer.toHexString(test.hashCode()));
        System.out.println(test.getClass().getName() + "@" + Integer.toHexString(test.hashCode()));
        //在API中这么定义toString()等同于 getClass().getName() + '@' + Integer.toHexString(hashCode())
        //返回值是 a string representation of the object.
        System.out.println(test.toString());
    }
}
